package com.javarush.test.level18.lesson03.task05;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;

/* Сортировка байт
Ввести с консоли имя файла
Считать все байты из файла.
Не учитывая повторений - отсортировать их по байт-коду в возрастающем порядке.
Вывести на экран
Закрыть поток ввода-вывода

Пример байт входного файла
44 83 44

Пример вывода
44 83
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String fileName = reader.readLine();
        FileInputStream inputStream = new FileInputStream(fileName);
        List<Integer> bytes = new ArrayList<Integer>();
        TreeSet<Integer> map=new TreeSet<Integer>();
        int[] a=new int[127];
        int min=0;
        while (inputStream.available()>0)
        {
            int b=inputStream.read();
            a[b]=a[b]+1;
            min=a[b];
        }
        inputStream.close();


        for (int i=0; i<a.length; i++)
        {
            if(a[i]!=0)
            {
                map.add(i);
            }
        }

        Iterator<Integer> iterator = map.iterator();
        while (iterator.hasNext())
        {
            int str=iterator.next();
            if (iterator.hasNext())
                System.out.print(str + " ");
            else System.out.print(str);
        }
    }
}
